\newpage
\section{Multidimensional ODEs}

\subsection{Introduction}
A two-dimensional vector field is a function of the form:

\begin{equation*}
     \vec{F} (x,y) = ( g(x,y), h(x,y) )
\end{equation*}

where every $(x,y)$ element of the vector is simply calculated by the functions $g$ and $h$. We can represent the vector $\vec{F}$ at each point $(x,y)$

If this vector is the derivative of a function $f$ that depends on $(x,y)$ we have a vector field that represent slopes, that is a direction field or slope field.
\begin{equation*}
     {df(x,y) \over dx} = x^2 + y^2
\end{equation*}

This vector is simply the slope (or the rate of change) of the function as x and y changes. We can represent the slope field as function of $x$ and $y$. 
\begin{sageblock}
x, y = var('x, y')
f(x, y) = x^2 + y^2 # slope vector (i.e f')
\end{sageblock}

\sageplot[width=6cm]{
plot_slope_field(f,[x, -3, 3],[y, -3, 3], color='blue')
}
%isocline = implicit_plot(f==3/2, [x,-3, 3],[y, -3, 3])
%plot(slope_field)_
%\sageplot[width=6cm]{
%#plot_slope_field(f, [x,-3, 3],[y, -3, 3], color='blue')

%}

Note that the independent variable $t$ is not represented here. 




\subsection{Isoclines and trajectories}
Isoclines are the curves that solve the vector field for a given value. For example, the isoclines for our differential equation $f'$:

\begin{equation*}
     f'= x^2 + y^2
\end{equation*}
are concentric circles of the form:

\begin{equation*}
     x^2 + y^2 = m
\end{equation*}

because these are the combinations of all $x$ and $y$ that gives $m$ in the equation.

Assume now we are interested about what is the evolution of the function for different values of $x$. For example we may want to look for the initial conditions $y=0$. This means; what are the values of $x$ in $y'(x, y)$ so that $f'(x,y)=0$?. 
This means, what are all possible $x$ values, so that the function takes the value -1 when $y=0$?. Visually, we have to follow the trayectory of the vector fields.

Another example. For $y(0) =4$. The initial condition would be $ x(0) = \sqrt{4} $, to satisfy $f'=4$

%maxima.eval('plotdf(x^2+y^2), [x, -3,3],[y, -3, 3])')
To see the trayectory, we can use maxima
%\begin{sageblock}
%maxima.eval('load("plotdf")')
%maxima.eval('plotdf(x^2+y^2, [trajectory_at,2 ,0], [x, -3,3],[y, -3, 3])')
%\end{sageblock}
